Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

183
Views
Operador lógico "!" no funciona en el archivo ejs

este es el codigo

 <% if( !title || title!=="login"){ %> <div class="dashboard-main-cont"> <div class="navigation-option"> <a class="btn btn-primary navbtn" href="/admin/bookings">Booking Requests</a> <a class="btn btn-primary navbtn" href="/admin/showprojects">Manage Projects</a> <a class="btn btn-primary navbtn" href="#">Calculation Requests</a> <a class="btn btn-primary navbtn" href="#">Manage Blogs</a> <form action="/admin/logout" method="POST"> <button class="btn btn-danger">Logout</button> </form> </div> <% } %>

No estoy pasando un valor de título, pero he puesto "!" delante de "título", pero sigo recibiendo este error:

 title is not defined

¿Cómo resolver este problema? ¡¡Gracias por adelantado!!

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Probablemente debería definir el título primero usando palabras clave como let o const. Este error viene porque no lo has definido.

about 4 years ago · Juan Pablo Isaza Report

0

Entonces, creo que el "título" debe al menos declararse para que pueda funcionar con el "!".

Puede renderizar el archivo pasando title: undefined en la información de renderizado. De esa manera, la variable se define como "indefinida", pero al menos está definida.

En el fragmento a continuación, al definir la variable, la explosión puede usarla para detectar si es un valor "positivo", en cuanto al segundo "si", arroja un error.

 const declared_title = undefined console.log("foo") if( !declared_title || declared_title !== "login") { console.log("bar") } console.log("fizz") if( !undeclared_title || undeclared_title !== "login") { console.log("buzz") }

En cuanto a la llamada de procesamiento, debería verse así

res.render('your_page',{ title: undefined });

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!